#ifndef _APP_FAULTDIALOG_H_
#define _APP_FAULTDIALOG_H_
#include <stdbool.h>
#include "sys_hc32f460.h"

typedef struct{
	uint32_t batVolHighTimer[32];//单体过压保护计时
	uint32_t batVolLowTimer[32];//单体欠压保护计时
	
	uint32_t packVolHighTimer;//总压过压保护计时
	uint32_t packVolLowTimer;//总压欠压保护计时
	
	uint32_t volDiffTimer;//压差保护计时
	
	uint32_t chgTempLowTimer;//充电低温保护计时
	uint32_t chgTempHighTimer;//充电高温保护计时
	
	uint32_t envTempLowTimer;//环境低温保护计时
	uint32_t envTempHighTimer;//环境高温保护计时
	
	uint32_t dsgTempLowTimer;//放电低温保护计时
	uint32_t dsgTempHighTimer;//放电高温保护计时
	
	uint32_t tempDiffTimer;//温差保护计时
	
	uint32_t mosTempHighTimer;//功率管高温保护计时
	
	uint32_t chgOverCurTimer;//充电过流保护计时
	uint32_t chgOverCurRcvTimer;//充电过流恢复计时
	
	uint32_t chgOverCur2Timer;//二级充电过流保护计时
	uint32_t chgOverCur2RcvTimer;//二级充电过流恢复计时	
	
	uint32_t chgOverCur3Timer;//三级充电过流保护计时
	uint32_t chgOverCur3RcvTimer;//充电过流恢复计时	
	
	uint32_t dsgOverCurTimer;//放电过流保护计时
	uint32_t dsgOverCurRcvTimer;//放电过流恢复计时,短路恢复也用这个值
	
	uint32_t dsgOverCur2Timer;//放电过流保护计时
	uint32_t dsgOverCur2RcvTimer;//放电过流恢复计时,短路恢复也用这个值
	
	uint32_t dsgOverCur3Timer;//放电过流保护计时
	uint32_t dsgOverCur3RcvTimer;//放电过流恢复计时,短路恢复也用这个值
	
	uint32_t dsgOverCur4RcvTimer;//放电过流恢复计时,短路恢复也用这个值
	
	uint32_t afeComErrRcvTimer;//模拟前端通讯错误故障恢复
	
	uint32_t afeIntErrRcvTime;//模拟前端内部错误故障恢复
	
	
}ProtectTimeout_t;

void protectdialog_init(void);

#endif